home *** CD-ROM | disk | FTP | other *** search
- #include <stdio.h>
- #include <process.h>
- #include <graph.h>
- #include <dos.h>
- #define CONTROL 0x34
- #define CONT2 0xb4
- unsigned prt0,cntrlpt,prt1,prt2;
- int count,baseio,baseiop1;
- main(argc,argv)
- int argc;
- char *argv[];
- {
- long count;
- char freq[40];
- double freqvco=5001.0,atof();
- unsigned int freqint;
- char *freqout=0xD0001FE0L;
- baseio=0x300;
- baseiop1 = baseio + 1;
- cntrlpt = baseio + 7;
- prt0 = baseio + 4;
- prt2 = baseio + 6;
- inp(cntrlpt); /* halt */
- printf("This program requires EGA capability, hit control C to stop,\n%s",
- " hit any other key to continue\n");
- count = 625 ;
- /* set timers for desired sampling rate */
- control_timer(count);
- system("intel wefdemod d000 300 1");
- printf("Do you wish to change the VCO frequency (y or n)? ");
- while (kbhit() == 0) {};
- freq[0]=getch();
- if (freq[0]=='y') {
- inp(cntrlpt);
- while(freqvco>5000.0) {
- printf("\nInput the frequency in Hz (<5000 Hz)? ");
- gets(freq);
- freqvco = atof(freq);
- freqint = (freqvco * 1.6384 + 0.5);
- memcpy(freqout,&freqint,2);
- inp(0x306);
- }
- }
- else printf("\n");
- system("wefega");
- inp(cntrlpt);
- }
-
- control_timer(cnt)
- long cnt;
- {
- unsigned int ctl,cth;
- /* tell board timer info coming */
- outp(cntrlpt ,CONTROL);
- /* count is timing divisor */
- ctl = cnt & 0xff; /* lo byte */
- cth = ( cnt >> 8 ) & 0xff;/* hi byte */
- /* control timer 0 */
- outp(prt0 , ctl);
- outp(prt0 , cth);
- /* control timer 2 */
- outp(cntrlpt , CONT2);
- outp(prt2 , ctl);
- outp(prt2 , cth);
- }
-
-